home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / c_toolbx.arc / VIDEO1.C < prev    next >
Encoding:
C/C++ Source or Header  |  1988-03-30  |  1.8 KB  |  59 lines

  1. /*  viedo1.c - basic ROM BIOS calls for Viedo-IO */
  2.  
  3. #include   "stdio.h"
  4. #include   "cminor.h"
  5. #include   "video.h"
  6. #include   "asmtools.h"
  7.  
  8. int  vid_init(new_mode)                 /* initialize display mode */
  9.   int new_mode ;                        /* (See viedo.h for modes) */
  10.   {
  11.      REGS  sreg , dreg ;
  12.  
  13.      sreg.ax = new_mode & 0x07 ;        /* force mode to be <= 7 */
  14.      vidint(V_INIT,&sreg,&dreg) ;
  15.   }
  16.  
  17. int  vid_state(pcol)                    /* get current state info */
  18.   int  *pcol ;                          /* store number of columns here */
  19.   {                                     /* return the current mode value */
  20.      REGS  sreg , dreg ;
  21.  
  22.      vidint(V_STATE,&sreg,&dreg) ;
  23.      *pcol = ( (BYTE_REGS *)&dreg)->ah ;
  24.      return( dreg.ax & 0xff) ;
  25.   }
  26.  
  27. int  vid_page(new_page)                 /* set display page */
  28.   int   new_page ;                      /* new page number */
  29.   {
  30.      REGS  sreg , dreg ;
  31.  
  32.      sreg.ax = new_page & 0x07 ;        /* force new page to be <= 7 */
  33.      vidint(V_SETPAGE,&sreg,&dreg) ;
  34.   }
  35.  
  36. int vid_set_cur(row,col)                /* set cursor position */
  37.   int   row ;                           /* new row number */
  38.   int   col ;                           /* new column number */
  39.   {
  40.      REGS  sreg , dreg ;
  41.  
  42.      ((BYTE_REGS *) &sreg) ->dh = row ;
  43.      ((BYTE_REGS *) &sreg) ->dl = col ;
  44.      sreg.bx = 0 ;
  45.      vidint(V_SET_CUR,&sreg,&dreg) ;
  46.   }
  47.  
  48. int  vid_get_cur(prow,pcol)             /* get current cursor position */
  49.   int   *prow ;                         /* store row number here */
  50.   int   *pcol ;                         /* store column number here */
  51.   {
  52.      REGS  sreg , dreg ;
  53.  
  54.      sreg.bx = 0 ;
  55.      vidint(V_GET_CUR,&sreg,&dreg) ;
  56.      *prow = ( (BYTE_REGS *)&dreg) ->dh ;
  57.      *pcol = ( (BYTE_REGS *)&dreg) ->dl ;
  58.   }
  59.